Пердисловие.
Продолжая цикл статей о других направления разработки на Ruby, кроме веб-разработки. Пришла очередь многим известного Thor, который позволяет делать удобные cli-утилиты с применением Ruby.
Знакомство.
Давайте сразу перейдем к простому примеру:
require 'thor' class SayHi < Thor desc "hi NAME", "say hello to NAME" def hi(name) puts "Hi #{name}!" end end SayHi.start(ARGV)
Если вы запустите это без каких-либо аргументов, вы должны получить что-то вроде этого на выходе:
Commands: first_steps.rb help [COMMAND] # Describe available commands or one specific command first_steps.rb hi NAME # say hello to NAME
С помощью всего нескольких строк кода у нас есть полное описание созданной нами команды! Конечно, если вы запустите скрипт с аргументами “Hi Danila”, вы должны получить ответ “Hello, Danila!”. Давайте разберем код.
Мы создали класс под названием “SayHi”, который является производным от класса